QTime类 |
您所在的位置:网站首页 › qt qdatetime比较大小 › QTime类 |
QTime类参考 QTime类提供了时钟时间功能。详情请见…… #include 所有成员函数的列表。 公有成员 QTime() QTime( int h, int m, int s = 0, int ms = 0 ) boolisNull() const boolisValid() const inthour() const intminute() const intsecond() const intmsec() const QStringtoString( Qt::DateFormat f = Qt::TextDate ) const QStringtoString( const QString & format ) const boolsetHMS( int h, int m, int s, int ms = 0 ) QTimeaddSecs( int nsecs ) const intsecsTo( const QTime & t ) const QTimeaddMSecs( int ms ) const intmsecsTo( const QTime & t ) const booloperator==( const QTime & t ) const booloperator!=( const QTime & t ) const booloperator=( const QTime & t ) const voidstart() intrestart() intelapsed() const静态公有成员 QTimecurrentTime() QTimefromString( const QString & s, Qt::DateFormat f = Qt::TextDate ) boolisValid( int h, int m, int s, int ms = 0 )相关函数 QDataStream &operator( QDataStream & s, QTime & t )详细描述QTime类提供了时钟时间功能。 QTime对象包含时钟时间,比如从午夜开始的时、分、秒和毫秒数。它可以从系统时钟中读取当前的时间并且度量时间的跨度。它提供比较时间和操作时间的函数,比如加上一定的秒或毫秒。 QTime操作的是24小时时钟格式,它没有AM/PM概念。它操作的是本地时间,它不知道有关时区或白天时间的概念。 QTime对象通常可以由明白地给定的时、分、秒和毫秒数字来创建,或者使用静态函数currentTime()让QTime对象包含系统时钟时间。注意精确性取决于下面操作系统的精确性,不是所有的操作系统都有毫秒级精确度的。 hour()、minute()、second()和msec()函数提供了对时、分、秒和毫秒数字的访问。toString()提供了文本格式的相同信息。 QTime提供了一整套的操作符来比较两个QTime对象,在这里小于表示早一些,大于表示晚一些。 一个给定时间之后给定的秒或毫秒数的时间可以使用addSecs()或addMSecs()得到。相对地,两个时间的秒(或毫秒)数可以使用secsTo()或msecsTo()得到。 QTime可以使用start()、restart()和elapsed()函数度量流逝的时间。 也可以参考QDate、QDateTime和时间和日期。 成员函数文档QTime::QTime () 构造一个时、分、秒和毫秒都是0的时间,比如,00:00:00.000(午夜)。这是一个有效的时间。 也可以参考isValid()。 QTime::QTime ( int h, int m, int s = 0, int ms = 0 ) 构造一个时、分、秒和毫秒分别为h、m、s和ms的时间。 h必须在0-23之间,m和s必须在0-59之间,ms必须在0-999之间。 也可以参考isValid()。 QTimeQTime::addMSecs ( int ms ) const 返回这个时间对象ms毫秒之后的一个时间对象(或者ms毫秒之前的,如果它是一个负数)。 注意如果这个时间过了午夜,它将被转换。请参考addSecs()中的实例。 也可以参考addSecs()和msecsTo()。 QTimeQTime::addSecs ( int nsecs ) const 返回这个时间对象nsecs秒之后的一个时间对象(或者nsecs秒之前的,如果它是一个负数)。 注意如果这个时间过了午夜,它将被转换。 实例: QTime n( 14, 0, 0 ); // n == 14:00:00 QTime t; t = n.addSecs( 70 ); // t == 14:01:10 t = n.addSecs( -70 ); // t == 13:58:50 t = n.addSecs( 10*60*60 + 5 ); // t == 00:00:05 t = n.addSecs( -15*60*60 ); // t == 23:00:00 也可以参考addMSecs()、secsTo()和QDateTime::addSecs()。 QTimeQTime::currentTime ()[静态]返回当前时间,来自于系统时钟。 注意精确性取决于下面操作系统的精确性,不是所有的操作系统都有毫秒级精确度的。 实例:aclock/aclock.cpp、dclock/dclock.cpp、t12/cannon.cpp和tictac/tictac.cpp。 intQTime::elapsed () const 返回从最后一次调用start()或restart()到现在已经过去的毫秒数。 注意如果在最后一次调用start()或restart()后24小时,计数器转换为0。 注意精确性取决于下面操作系统的精确性,不是所有的操作系统都有毫秒级精确度的。 警告:如果最后一次调用start()或restart()之后,系统时钟设置发生了改变,结果将是不确定的。 也可以参考start()和restart()。 QTimeQTime::fromString ( const QString & s,Qt::DateFormat f = Qt::TextDate )[静态]通过给定的字符串s,使用格式f,返回这个QTime,或者如果这是不可能的话返回一个无效的时间。 注意Qt::LocalDate在这里不能使用。 intQTime::hour () const 返回时间的小时部分(0-23)。 实例:QTime::isValid(21, 10, 30); // 返回真 QTime::isValid(22, 5, 62); // 返回假 intQTime::minute () const 返回时间的分钟部分(0-59)。 实例:aclock/aclock.cpp和tictac/tictac.cpp。 intQTime::msec () const 返回时间的毫秒部分(0-999)。 intQTime::msecsTo ( const QTime & t ) const 返回这个时间到t的毫秒数(如果t早于这个时间,返回的为负数)。 因为QTime只能度量一天之内的时间,而且一天内只有86400000毫秒,所以结果就应该在-86400000毫秒和86400000毫秒之间。 也可以参考secsTo()。 boolQTime::operator!= ( const QTime & t ) const 如果这个时间不等于t,返回真,否则返回假。 boolQTime::operator< ( const QTime & t ) const 如果这个时间早于t,返回真,否则返回假。 boolQTime::operator ( const QTime & t ) const 如果这个时间晚于t,返回真,否则返回假。 boolQTime::operator>= ( const QTime & t ) const 如果这个时间不早于t,返回真,否则返回假。 intQTime::restart () 设置这个时间为当前时间并且返回从最后一次调用start()或restart()到现在过去的毫秒数。 这个函数保证是原子的并且这样对于重复度量是非常方便的。调用start()开始第一次度量,然后调用restart()来做以后的每一次度量。 注意如果在最后一次调用start()或restart()后24小时,计数器转换为0。 警告:如果最后一次调用start()或restart()之后,系统时钟设置发生了改变,结果将是不确定的。 也可以参考start()、elapsed()和currentTime()。 intQTime::second () const 返回时间的秒部分(0-59)。 实例:tictac/tictac.cpp。 intQTime::secsTo ( const QTime & t ) const 返回这个时间到t的秒数(如果t早于这个时间,返回的为负数)。 因为QTime只能度量一天之内的时间,而且一天内只有86400秒,所以结果就应该在-86400秒和86400秒之间。 也可以参考addSecs() andQDateTime::secsTo(). 实例:t12/cannon.cpp。 boolQTime::setHMS ( int h, int m, int s, int ms = 0 ) 设置时间的时、分、秒和毫秒分别为h、m、s和ms。 h必须在0-23之间,m和s必须在0-59之间,ms必须在0-999之间。如果设置的时间有效,返回真,否则返回假。 也可以参考isValid()。 voidQTime::start () 设置这个时间为当前时间。这是实际上使用来计时的: QTime t; t.start(); // 开始计时 ... // 一些任务qDebug( "%d\n", t.elapsed() ); // 打印过去的毫秒数 也可以参考restart()、elapsed()和currentTime()。 QStringQTime::toString ( const QString & format ) const 返回一个字符串的时间。format参数决定了结果字符串的格式。 这些是可能用到的表达式: h- 没有前置0的数字的小时(0-23或者如果显示AM/PM时,1-12)hh- 前置0的数字的小时(00-23或者如果显示AM/PM时,01-12)m- 没有前置0的数字的分钟(0-59)mm- 前置0的数字的分钟(00-59)s- 没有前置0的数字的秒(0-59)ss- 前置0的数字的秒(00-59)z- 没有前置0的数字的毫秒(0-999)zzz- 前置0的数字的毫秒(000-999)AP- 切换为AM/PM显示。AP将被“AM”或“PM”替换。ap- 切换为am/pm显示。ap将被“am”或“pm”替换。 所有其他输入字符都将被忽略。 格式字符串实例(假设这个QTime为14:13:09.042) “hh:mm:ss.zzz”的结果将是“14:13:09.042” “h:m:s ap”的结果将是“2:13:9 pm” 也可以参考QDate::toString()和QTime::toString()。 QStringQTime::toString (Qt::DateFormat f = Qt::TextDate ) const 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。 返回一个字符串的时间。f参数决定了结果字符串的格式。 如果f是Qt::TextDate,字符串格式是HH:MM:SS,比日午夜前一秒是“23:59:59”。 如果f是Qt::ISODate,字符串格式遵循ISO 8601表示时间的说明,也就是HH:MM:SS。 如果f是Qt::LocalDate,字符串格式依赖于系统的本地设置。 相关函数QDataStream &operator> (QDataStream & s,QTime & t ) 从流s中读取一个时间到t中。 也可以参考QDataStream操作符的格式。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |